在 Rust 中,模式匹配不仅仅是控制流的一个分支——它本身就是 绑定的架构每当你声明一个变量或定义一个函数时,你实际上都在进行模式匹配。
1. 绑定的本质
当我们写下 let x = 5;时,我们不仅仅是在赋值。我们正在将值 5 与 不可反驳的模式x进行匹配。因为 x 是一个可以代表任意值的名称,因此匹配总是成功,并创建一个 局部绑定。
2. 模式化参数(示例 18-6)
或许最深刻的领悟是 函数签名本身就是模式。在签名 fn foo(x: i32)中,代码期望接收一个 i32 并使用模式 x 来绑定传入的参数。这意味着每次函数调用本质上都是一次单臂匹配事件。
3. 模式的普遍性
模式的应用远不止于 match。它们出现在 for 循环(解构元组)、 while let 条件语句,甚至还有 if let 表达式中。这一 局部绑定 原则确保了 Rust 代码始终具有高度的表现力,无论你是从结构体中提取数据,还是遍历哈希表。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>